package  
{
	import flash.display.Sprite;
	import flash.events.Event;
	import net.user1.reactor.Reactor;
	import net.user1.reactor.ReactorEvent;
	import net.user1.reactor.Room;
	import net.user1.reactor.RoomManager;
	import net.user1.reactor.RoomSettings;
	
	/**
	 * ...
	 * @author fernet
	 */
	public class ServerConfigEditor extends Sprite
	{
		private var _reactor:Reactor;
		public function ServerConfigEditor() 
		{
			_reactor = new Reactor();
			// サーバ接続後に呼び出されるコールバック"setup"を指定
			// 接続に失敗したら呼び出されない　はず
			_reactor.addEventListener(ReactorEvent.READY, setup);
			// 接続の開始
			_reactor.connect("localhost", 80);
			
		}
		
		public function setup(event:ReactorEvent = null):void
		{
			var rm:RoomManager = _reactor.getRoomManager();
			var room:Room = rm.createRoom('2wac#ServerChain.cell.localhost:80');
			trace(room);
			// 接続者が居なくなっても人数設定が残るようにremoveOnEmptyを変えた　つもり
			// Unionの仕組み
			var rs:RoomSettings = new RoomSettings;
			rs.removeOnEmpty = false;
			room.setRoomSettings(rs);
			// サーバ指定版で使ってるサーバ名の名称設定キー"CAPTION"の更新
			room.setAttribute('CAPTION', "ﾃｨﾛ┳のサーバ", true, true);
			// サーバ指定版で使ってるサーバ名の部屋設定キー"CONFIG"の更新
			// 書式などはサーバ指定版独自の使い方
			var basicRoom:String = "20,5,5,2,2,1,1,1";
			var extraRoom:String = "2-d:1.1:1.5:1.1-s:5,2-d:1.2:1.5:1.2-s:10,2-d:1.3:1.5:1.3-s:15,3-d:1.1:1.5:1.1-s:5,3-d:1.2:1.5:1.2-s:10,3-d:1.3:1.5:1.3-s:15,20-d:1.3:20:1.3-s:30,20-s:100,20-d:1:40:50-s:100,20-d:100:1:1,20-d:1:1:10";
			room.setAttribute('CONFIG', basicRoom+","+extraRoom, true, true);
		}
		
	}

}